$(function () {
    // 1.先实现图片本地预览
    $('#inputCover').on('change', function () {
        let myurl = URL.createObjectURL(this.files[0])
        $('.article_cover').attr('src', myurl)
    })

    // 2.动态加载分类数据
    // 动态渲染分类数据-所有文章类别接口
    $.ajax({
        // 请求地址：/admin/category/list
        // 请求方式：get
        // 请求参数：通过`formData`提交
        url: bignew.category_list,
        dataType: 'json',
        success: function (res) {
            // console.log(res);
            if (res.code == 200) {
                // 调用模板引擎的时候传入一个对象，在模板中可以使用这个对象的属性
                let html = template('cateListTemp', res)
                $('.category').html(html)
            }
        }
    })

    //4.初始化日期插件
    jeDate("#indate", {
        trigger: "click",
        format: "YYYY-MM-DD",
        isTime: false,
        minDate: "2014-09-19",
        theme: { bgcolor: "#00A1CB", color: "#ffffff", pnColor: "#00CCFF" }
    })

    // 5.初始化富文本框插件
    tinymce.init({
        selector: '#mytextarea',
        language: 'zh_CN',
        directionality: 'ltl', // 文字的方向
        browser_spellcheck: true, // 拼写语法检查
        contextmenu: false, // 是否支持右键菜单
        plugins: [ // 添加插件
            "advlist autolink lists link image charmap print preview anchor",
            "searchreplace visualblocks code fullscreen",
            "insertdatetime media table contextmenu paste imagetools wordcount",
            "code"
        ],
        // 下面是添加工具条
        toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | code"
    });

    // 8.1封装优化代码 发表文章 + 存为草稿功能
    //两者代码差异    1.formdata.append('state', '已发布')
    function publish(state) {
        //6.1 获取数据
        let formdata = new FormData($('#form')[0])
        formdata.append('content', tinymce.activeEditor.getContent());
        formdata.append('state', state)
        // 6.2 发送ajax请求
        // 请求地址：/admin/article/publish
        // 请求方式：post
        // 请求参数：通过`formData`提交
        $.ajax({
            type: 'post',
            url: bignew.article_publish,
            data: formdata,
            dataType: 'json',
            processData: false,   //不用ajax来进行数据的处理
            contentType: false,   //不让ajax进行二进制数据的编码处理
            success: function (res) {
                // console.log(res);
                if (res.code == 200) {
                    alert(res.msg);
                    location.href = './article_list.html'
                    // 8.优化页面显示：发表文章 跳转'文章列表' 左侧导航高亮显示
                    $('.level02>li:eq(0)', window.parent.document).addClass('active').siblings().removeClass('active')
                }
            }
        })
    }



    //3.获取标题框数据 + 6. 实现发布文章功能
    $('.btn-release').on('click', function () {
        publish('已发布')
        // //6.1 获取数据
        // let formdata = new FormData($('#form')[0])
        // // 由于富文本框内的文本数据，无法通过name属性获取，有独立的获取方法
        // // console.log(tinymce.activeEditor.getContent()); //<p>Hello, World!123124</p>  结果是一个html结构 
        // //需要同过formdata的append方法 添加属性，从而获取数据
        // formdata.append('content', tinymce.activeEditor.getContent()); //注意key值 一定要和文档接口一一对应
        // //同理，发布按钮的state数据获取，
        // formdata.append('state', '已发布')
        // // console.log(...formdata)            //查看formdata 获取的数据
        // // 6.2 发送ajax请求
        // // 请求地址：/admin/article/publish
        // // 请求方式：post
        // // 请求参数：通过`formData`提交
        // $.ajax({
        //     type: 'post',
        //     url: bignew.article_publish,
        //     data: formdata,
        //     dataType: 'json',
        //     processData: false,   //不用ajax来进行数据的处理
        //     contentType: false,   //不让ajax进行二进制数据的编码处理
        //     success: function (res) {
        //         // console.log(res);
        //         if (res.code == 200) {
        //             alert(res.msg);
        //             location.href = './article_list.html'
        //         }
        //     }
        // })
    })
    // 7.实现存为草稿功能
    $('.btn-draft').on('click', function () {
        publish('草稿')
        //     // 7.1获取数据
        //     let formdata = new FormData($('#form')[0])
        //     //获取富文本框的数据
        //     formdata.append('content', tinymce.activeEditor.getContent())
        //     //获取存为草稿按钮数据
        //     formdata.append('state', '草稿');
        //     console.log(...formdata);
        //     // 7.2发送请求  --接口和 发布文章一样
        //     $.ajax({
        //         type: 'post',
        //         url: bignew.article_publish,
        //         data: formdata,
        //         dataType: 'json',
        //         processData: false,
        //         contentType: false,
        //         success: function (res) {
        //             console.log(res);
        //             if (res.code == 200) {
        //                 alert(res.msg);
        //                 location.href = './article_list.html'
        //             }
        //         }
        //     })
    })
})